1. Field of the Invention
The present invention relates to a system and method for data transmission incorporating an automatic repeat request (ARQ) function. Specifically, the present invention relates to a system and method for computing an optimum segment size for data transmission and providing an acknowledgement only after all segments are received correctly at a receiver. A negative acknowledgement states the location of failed segments, and only failed segments are then retransmitted.
2. Description of the Related Art
Wireless communications networks, such as mobile wireless telephone networks, have become increasingly prevalent over the past decade. These wireless communications networks are commonly referred to as xe2x80x9ccellular networksxe2x80x9d, because the network infrastructure is arranged to divide the service area into a plurality of regions called xe2x80x9ccellsxe2x80x9d. A terrestrial cellular network includes a plurality of interconnected base stations, or base nodes, that are distributed geographically at designated locations throughout the service area. Each base node includes one or more transceivers that are capable of transmitting and receiving electromagnetic signals, such as radio frequency (RF) communications signals, to and from mobile user nodes, such as wireless telephones, located within the coverage area. The communication signals may include, for example, voice data that has been modulated according to a desired modulation technique and transmitted as data packets. As can be appreciated by one skilled in the art, network nodes transmit and receive data packet communications in a multiplexed format, such as time-division multiple access (TDMA) format, code-division multiple access (CDMA) format, or frequency-division multiple access (FDMA) format, which enables a single transceiver at the base node to communicate simultaneously with several mobile nodes in its coverage area.
In recent years, a type of mobile communications network known as an xe2x80x9cad-hocxe2x80x9d network has been developed for use by the military. In this type of network, each mobile node is capable of operating as a base station or router for the other mobile nodes, thus eliminating the need for a fixed infrastructure of base stations. Details of an ad-hoc network are set forth in U.S. Pat. No. 5,943,322 to Mayor, the entire content of which is incorporated herein by reference.
More sophisticated ad-hoc networks are also being developed which, in addition to enabling mobile nodes to communicate with each other as in conventional ad-hoc networks, further enable mobile nodes to access a fixed network and thus communicate with other mobile nodes, such as those on the public switched telephone network (PSTN), and on other networks such as the Internet. Details of these advanced types of ad-hoc networks are described in U.S. patent application Ser. No. 09/897,790 entitled xe2x80x9cAd Hoc Peer-to-Peer Mobile Radio Access System Interfaced to the PSTN and Cellular Networksxe2x80x9d, filed on Jun. 29, 2001, in U.S. patent application Ser. No. 09/815,157 entitled xe2x80x9cTime Division Protocol for an Ad-Hoc, Peer-to-Peer Radio Network Having Coordinating Channel Access to Shared Parallel Data Channels with Separate Reservation Channelxe2x80x9d, filed on Mar. 22, 2001, and in U.S. patent application Ser. No. 09/815,164 entitled xe2x80x9cPrioritized-Routing for an Ad-Hoc, Peer-to-Peer, Mobile Radio Access Systemxe2x80x9d, filed on Mar. 22, 2001, the entire content of each being incorporated herein by reference.
Communications between nodes however, is often subject to interference and transmission errors. To minimize the occurrence of erroneous data, receivers and transmitters may be configured to detect transmission errors and request retransmissions if such errors are detected. For instance, a data transmission system between nodes may include an automatic repeat request (ARQ) transmitter and receiver, each adapted to use an error correction code. As may be appreciated by one skilled in the art, the ARQ transmitter may be used to include error detection codes in the transmission data stream to a remote receiver. The ARQ receiver may then be used to detect errors in the data stream using such codes and request retransmission from the transmitter. Further details of ARQ application and use of error detection codes may be found in U.S. Pat. No. 5,629,948 to Hagiwara et al., and in U.S. Pat. No. 5,784,362 to Turina, the entire content of each being incorporated herein by reference. The selective use of ARQ with a sliding window transport mechanism is also discussed in U.S. Pat. No. 5,717,689 to Ayanoglu, the entire content of which is also incorporated herein by reference. Yet another ARQ retransmission technique using a xe2x80x9cgo-back-nxe2x80x9d ARQ command is discussed in U.S. Pat. No. 4,726,027 to Nakamura et al., the entire content of which is incorporated herein by reference.
Still other techniques involve frame numbering, such that frames may be identified for retransmission when errors are detected. Frame numbering allows a receiver to send a sequence number to a transmitter requesting retransmission of incorrect frames, similar to the xe2x80x9cgo-back-nxe2x80x9d ARQ technique. Details of frame numbering in data transmissions are discussed in U.S. Pat. No. 4,439,859 to Donnan, the entire content of which is incorporated herein by reference.
Given that retransmissions due to error detection will occur, various efforts have been made in order to minimize delays due to frequent retransmissions. For instance, information blocks may be enlarged to provide extra room for xe2x80x9ccatch upxe2x80x9d when a large number of repeat transmissions occur. Additional details of enlarged information blocks are discussed in U.S. Pat. No. 5,313,473 to Darmon et al., the entire content of which is incorporated herein by reference.
A self-adaptive and hybrid data transmission link using a new ARQ principle is discussed in U.S. Pat. No. 4,718,066 to Rogard, the entire content of which is incorporated herein by reference. The Rogard system encodes data in sets of blocks including redundant symbols and blocks, and provides automatic retransmission of lost data blocks and correction of detected errors. Although a Reed Solomon code is discussed in Rogard, the use of a Golay code as an error correction code is discussed in U.S. Pat. No. 4,584,685 to Gajjar, the entire content of which is also incorporated herein by reference.
Many of these techniques require retransmission of frames which may not include errors, or perform other operations during retransmission, which slow overall data transmission rates. Accordingly, a need exists for an ARQ technique adapted for use in a wireless ad-hoc network which will more accurately request retransmissions and not require the retransmission of frames, or segments, which do not have a detected error.
An object of the present invention is to provide a system and method for a hybrid automatic repeat request (ARQ) function for a wireless ad-hoc network.
Another object of the present invention is to provide a system and method for dividing a media access control protocol data unit (MPDU) into a stream of segments, each including forward error correction and error detection coding.
Still another object of the present invention is to provide a system and method to sequentially transmit a stream of segments as a physical layer packet and detect and locate any failed segments, and retransmit erroneous segments multiple times per media access control (MAC) transaction.
These and other objects are substantially achieved by implementing a hybrid automatic repeat request (ARQ) function at each node in an ad-hoc network. Each node is configured to calculate an optimum segment size for transmission and thereafter executes the ARQ function to transmit and receive data segments with forward error correction and error detection coding. The coding allows the node to detect and locate errors within received segments and to provide an acknowledgement only after all segments are correctly received. A negative acknowledgement from the receiving node states the location of failed segments, and only failed segments are then retransmitted. The failed segments can be retransmitted multiple times per MAC transaction reducing maximum time to successfully deliver the segments. Using an algorithm, the hybrid ARQ-function at each node in the ad-hoc network reduces the total time by resending erroneous segments multiple times. Where overhead is fixed, and independent of physical frame length, savings can be achieved by reducing the need for frame headers in multiple retransmissions when failed segments can be retransmitted multiple times per MAC transaction. The failed segments can be retransmitted in their original location and in other segment locations which contained segments that did not fail.